This invention relates to managing communications between users of a computer network.
The rapid emergence of the Internet and the World Wide Web has created an environment in which anybody in the world who can connect to the Internet through a personal computer is generally able to access the universe of information that is available via Web sites. Electronic mail (a.k.a. e-mail) has also become ubiquitous due to its ease of use and its low cost. The emergence of these capabilities has been spurred by technological advances in various areas, including microprocessors (both computing speed and miniaturization), computer operating systems and interfaces (e.g., Windows, Macintosh, and Unix), and Internet browsers (e.g., Netscape Navigator). In turn, the rapidity of increase of the technology has had a direct positive impact upon productivity, and the world economy in general. Thus, there is an incentive for high-tech entities to create further improvements in the state of the art with respect to the Internet.
An online forum is a communications interchange in which people may communicate with others through successive electronic transmissions between respective computer systems. An online forum, or any other type of distributed computer services, may be implemented on a distributed computer system such as that shown in FIG. 1. Forum participants (equivalently, users of the computer services) typically are scattered across a large geographical area and communicate with one or more central server systems 100 through respective client systems 102 (e.g., a personal or laptop computer). In practice, the server system 100 typically will not be a single monolithic entity but rather will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographic region. In such a case, the individual servers are interconnected by a network of communication links, in known fashion. One such server system is xe2x80x9cAmerica Onlinexe2x80x9d from America Online Incorporated of Virginia (AOL).
Each client system 102 runs client software that allows it to communicate in a meaningful manner with corresponding software running on the server system 100. The client systems 102 communicate with the server system 100 through various channels, such as a modem 104 connected to a telephone line 106 or a direct Internet connection using a transfer protocol such as Transfer Control Protocol/Internet Protocol (TCP/IP). The server system 100 is responsible for receiving input from the client systems 102, manipulating the collective body of input information (and possibly information from other sources) into a useful format, and retransmitting the formatted information back to one or more clients 102 for presentation on an output device, such as a display screen.
A specific aspect of the Internet xe2x80x9cculturexe2x80x9d is the xe2x80x9cchat roomxe2x80x9d phenomenon. A chat room is a virtual space (i.e., an electronic channel) in which some specific communications activity is ongoing. In some cases, the activity is an application, such as a computer game. In many other cases, the activity is a simple conversation, or xe2x80x9cchat sessionxe2x80x9d, between the participants. Referring to FIG. 2, a chat room 200 is illustrated, in which the various participants 204 (e.g., xe2x80x9cAllens9xe2x80x9d, xe2x80x9cJOSHUAALEXxe2x80x9d, etc.) may enter text which appears in a scrolling text window 202 on each participant""s computer display screen. In the example in FIG. 2, the chat room 200 has 22 participants whose identities (or xe2x80x9cscreen namesxe2x80x9d) are listed in a scrolling window 210. A participant 204 may respond to the comment of another participant 204 by entering a line of text in an edit box 206 and activating (e.g., by clicking with a pointer device, such as a mouse) a SEND button 208. In response, the text in the scrolling text window 202 scrolls upwards and the newly entered line of text is displayed at the bottom of the scrolling text window 202. In the illustrated example, the last participant to enter a comment was JOSHUAALEX, who typed xe2x80x9cTEXASxe2x80x9d.
The chat room 200 shown in FIG. 2 is xe2x80x9cpublicxe2x80x9d, meaning that it is generally open to any user of the online service who accesses it, and it typically has multiple participants who were placed in the chat room by the computer-service provider and who most likely never have met or conversed with one another before. A comment by a participant in a public forum may be seen by all of the participants of the chat room. If a participant desires some privacy, that participant may open and enter a xe2x80x9cprivatexe2x80x9d chat room (for example, by clicking on a xe2x80x9cPrivate Roomxe2x80x9d button 212), and thereafter invite one or more other participants to enter the private chat room, which can be accessed exclusively by the originators and their invitees. Once in a private forum, participants may communicate with one another without fear that uninvited participants will be able to see their comments. It is also possible to have a semi-public chat room, which is open to a specified group of users.
AOL has created the AOL Instant Messenger (AIM(trademark)) system. The AIM system allows a user to create an electronic messaging medium known as a xe2x80x9cBuddy Listxe2x80x9d(trademark) of others (such as friends and family) with whom the user often interacts while online and send instant messages (IMs) to those users. The AIM system automatically informs the user whenever a member of that user""s buddy list is online. Thus, the two buddies can communicate directly (i.e., chat) because they both are online and are aware of each other""s presence.
Another development by AOL in this arena is the concept of xe2x80x9cEvilxe2x80x9d. This concept arose in recognition of the fact that users can and do abuse the privileges afforded them by the abilities to communicate instantly with others and to transmit large volumes of information. Such abuse may occur, for example, when a user sends messages having objectionable content, or when a user overuses the AIM system by sending excessive numbers of messages to other users. Another form of abuse occurs when a user sends files that contain large amounts of data to another user, so that when the recipient tries to open or download the files, or even perform other activities, the recipient""s computer system is slowed down due to the processing of the received files.
AOL""s creation of the Evil concept is an attempt to remedy this and other types of abuse. If a user perceives that another user is behaving badly (e.g., repeatedly sending unwanted IMs), the offended user can xe2x80x9cevilxe2x80x9d, or warn, the misbehaving user, thereby increasing the misbehaving user""s Evil level. The effect of eviling a user typically is small but cumulative. Over time, if a user has been eviled a sufficient number of times, that user""s ability to use system resources (e.g., send IMs) will be deliberately slowed as a punishment. If the abuse continues and even more eviling occurs, the abuser eventually can be involuntarily logged off the computer network. The underlying notion is to promote computer etiquette and basic courtesy in the online (and particularly chat room) environment. Giving users the power to xe2x80x9cevilxe2x80x9d one another gives them the ability to create a self-policing society, thus alleviating the Internet Service Provider (ISP) from having to perform the policing function. Further details on eviling techniques can be found in U.S. Ser. No. 09/076,483, filed May 13, 1998 now U.S. Pat. No. 6,336,133, entitled xe2x80x9cRegulating Users of Online Forumsxe2x80x9d, and U.S. Ser. No. 09/076,484, filed May 13, 1998 now U.S. Pat. No. 6,339,784 entitled xe2x80x9cSelf-Policing, Rate Limiting Online Forumsxe2x80x9d, both of which are incorporated by reference.
Although it is possible for a chat room to be completely free-form dialogue on any subject, it is common for chat rooms to be organized around a specific subject for discussion. The proliferation of the chat room phenomenon has created a need for a mechanism to optimally arrange a chat room environment to meet the needs of the users. For example, a given user might desire to have a private conversation with a specific group of three other users on a particular subject. Alternatively, the user might wish to play a particular computer game jointly with two friends, each located at a different remote site. Presently, if such a user wishes to engage in such activity, the user can either 1) find an existing chat room where the desired activity is ongoing and attempt to join in, but not necessarily having any control over the identities or number of other participants; or 2) send an IM or e-mail message to the other users with whom the user wishes to engage in the activity and invite them to do so. Typically, the inviting user will receive either no response at all (e.g., if the recipient ignores the invitation) or a binary response (i.e., yes or no) to the invitation.
In light of the foregoing, the present inventors have recognized the need for a powerful and flexible negotiation mechanism, whereby users desiring to communicate or otherwise interact with each other can xe2x80x9cbargainxe2x80x9d with one another in order to agree ultimately upon a mutually acceptable communication (e.g., chat room) or other interaction (e.g., multiple user computer game) context.
Implementations may include various combinations of the following features.
A protocol, referred to as the xe2x80x9cRendezvousxe2x80x9d protocol, is designed to facilitate interactions between users of a computer network by transmitting a first user""s proposal for an activity to another user. The proposal may include one or more parameters descriptive of the proposed activity. A response, such as an acceptance, a rejection, or a counterproposal, is received from the other user. Depending on the received response, the users may or may not selectively engage in the proposed activity.
One such activity could be an online xe2x80x9cchatxe2x80x9d session, and a typical set of parameters for a proposal to chat could include a proposed topic on which the chat session will be focused and a proposed channel in which the chat session will take place. Another typical activity could be an online computer game, and the specified parameters could identify proposed participants in the game.
An acceptance indicates agreement to all parameters of the proposal. A rejection indicates disagreement with at least one parameter of the proposal. A counterproposal indicates an offer to modify one or more of the proposal parameters. If a counterproposal is made, a further response to the counterproposal can be made, and this response also can be an acceptance, a rejection, or yet another counterproposal. This sequence may occur indefinitely until acceptance or rejection occurs.
A cancellation of a proposal or counterproposal may be issued by the user that originally made the proposal or counterproposal, so long as this occurs prior to the receipt of a response. Typically, such a cancellation should include a reason for the cancellation.
In issuing a rejection, a user may indicate that the proposal is being ignored, either explicitly or implicitly (by inaction).
The protocol allows users to transmit messages, referred to as xe2x80x9cEvilxe2x80x9d messages, registering displeasure with any proposal, counterproposal, or acceptance. An Evil message has a cumulative (and potentially exponential) effect upon a recipient""s ability to access the computer system""s resources.
One objective of the protocol is to help online users produce an optimal environment for an activity by enabling them to negotiate the parameters of the activity until agreement is reached. Typical activities include exchanging voice messages, playing an online game, finding a route from one client computer to another, transferring files, direct instant messaging, exchanging avatars, participating in a chat room, or engaging in collaborative project development.
Another potential online activity that can make use of the Rendezvous protocol is e-commerce. The protocol lends itself to a negotiation of a sale/purchase of goods or services, or intangible property. Parameters of such a negotiation might typically include price, model, style, color, delivery details, and warranty details.
A rejection message may indicate a reason for the rejection. Typical reasons include the following: the proposed activity is unsupported by a client computer associated with a recipient of the proposal; the proposed activity was denied by a recipient of the proposal; a recipient of the proposal explicitly ignored the proposal; the proposal timed out; or the proposal message could not be understood.
In one embodiment, the Rendezvous protocol is implemented as computer software potentially within a larger computer software application. The protocol software is tangibly embodied in a computer-readable medium or propagated carrier signal. The protocol software contains instructions to allow the computer system to conduct an online negotiation session.
The techniques and mechanisms described here may provide one or more of the following advantages. The Rendezvous protocol provides users with the ability to negotiate characteristics of an interactive online environment (chat session, online game, etc.). As a result, users can tailor and optimize their online environments so that they are mutually agreeable to all participants. This optimization typically occurs prior to inception of the environment undergoing negotiation. Consequently, users can engage in environments of their own choosing and according to their own desires, and without encountering unwanted or undesirable circumstances or participants.
Additional features and advantages will be apparent from the following description, including the figures and the claims.